home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The X-Philes (2nd Revision)
/
The X-Philes Number 1 (1995).iso
/
xphiles
/
hp48_2
/
fast
< prev
next >
Wrap
Internet Message Format
|
1995-03-31
|
4KB
Path: seq!spell
From: Detlef Mueller <detlef@mwhh.hanse.de>
Subject: v02i017: fast - How to speed up your hp48, V1.1, Part01/01
Newsgroups: comp.sources.hp48
Keywords: FAST hp48
Organization: M. Witt
Followup-To: comp.sys.hp48
Approved: spell@seq.uncwil.edu
Checksum: 1551528476 (verify with brik -cv)
Submitted-by: Detlef Mueller <detlef@mwhh.hanse.de>
Posting-number: Volume 2, Issue 17
Archive-name: fast/part01
BEGIN_DOC fast.doc
Hi ...
Anybody left who says `you can't speed up the HP48` ??? Yes ... ? Ok,
here is how to do it, version 1.1 .
Displaying the display :-] is time consuming. The display refresh logic
steal about 11% of the CPU time from the Saturn, so switch off the LCD
and all is fine.
The following program turns the display off (that's the disadvantage of
this program, you can't see what's going on), execute the object in the
first stack level (sorry, no tagged object), then turns the display on
again.
The entry to turn the display off is not supported in ENTRIES.A (there
is a entry named 'DispOff', it switches off the display 'dirty'. I used
this entry in version 1.0 of FAST). 'CleanDispOff' is used by the OFF
routine (hard to find :-).
If your program terminates and the display is still off, switch the HP48
off (blind) then on again. This should reenable the display.
IMO you can further speed up your programs, if you activate the commented
lines in FAST.S because timer interrupts are time consuming, too.
I've not test this ! Do it at your own risk !
If you only want to use FAST, download FAST.ASC into your HP48, execute
ASC\-> on it and store the result into a variable name 'FAST' in the HOME
directory.
To generate FAST, put the listings of FAST.S and FAST.M in the appropriate
files, then invoke the following commandlines at the MesS-DOS prompt:
rplcomp fast.s fast.a
sasm -e -N fast.a
sload -H fast.m
Bye,
8-), Detlef
END_DOC
BEGIN_SRC fast.m
SUpress XRef
OUtput fast
LLu fast.lr
SEarch entries.o
RElocate fast.o
END_SRC
BEGIN_SRC fast.s
*****************************************************************************
* Modulname: FAST
* Modultype: Secondary
* Dest.Comp.: HP48
* Language: System RPL
* Author: Detlef Mueller,Nibelungenweg 6,2000 Hamburg 56,W-Germany
* Interface: FAST ( ob --> )
* Description: Execute <ob> with display off. Exec. time saving of ~11% .
* Edition History :
* 1.000 09-05-1991 DM Release
* 001 09-26-1991 DM add CleanDispOff, evaluation more
* close to user EVAL
*****************************************************************************
TITLE Fast
ASSEMBLE
NIBASC /HPHP48-E/
CleanDispOff EQU #01D44
RPL
::
CK1NoBlame
CODE
GOSBVL =SAVPTR
GOSBVL =DisableIntr
GOSBVL =CleanDispOff
GOSBVL =AllowIntr * Comment this line at you own risc !
GOVLNG =GETPTRLOOP
ENDCODE
ERRSET
:: CK&DISPATCH0
symb COMPEVAL
list COMPEVAL
ZERO EVAL ( *Any object* )
;
ERRTRAP
::
CODE
GOSBVL =SAVPTR
GOSBVL =DispOn
*** GOSBVL =AllowIntr * Uncomment this line at you own risc !
GOVLNG =GETPTRLOOP
ENDCODE
ERRJMP
;
CODE
GOSBVL =SAVPTR
GOSBVL =DispOn
*** GOSBVL =AllowIntr * Uncomment this line at you own risc !
GOVLNG =GETPTRLOOP
ENDCODE
;
END_SRC
BEGIN_ASC fast.asc
%%HP: T(3)A(R)F(.);
"D9D20D2951CCD20820008FB97608F511108F44D108F5E0108D34150E5E40D9D2
0D9F8194040ABE8112040ABE81FEF30E8F60B21308BE40D9D20CCD20A10008FB
97608FF8B108D341501DE40B2130CCD20A10008FB97608FF8B108D34150B2130
22DB"
END_ASC
BYTES: #BD22h 104.5
BEGIN_UU fast.uue
begin 644 fast
M2%!(4#0X+46=+="2%<PM@`(`^)MG@%\1`?A$'8!?#@'80U'@Y02=+=#Y&$E`\
MH.L8(4"@ZQCO/^#X!BLQ@.L$G2W`W`(:`("_>0;XCQN`/10%T4ZP$@/,+:`!\
.`/B;9X#_N`'80U&P$@.P)
``
end
END_UU
--
+-----------------------------------+---------------------------------------+
| `You mean this isn't | Detlef Mueller |
| the afterlife ?` | detlef@mwhh.hanse.de |
| Arthur in THGTTG, part II, p. 78 |...!uunet!mcsun!unido!mcshh!mwhh!detlef|
+-----------------------------------+---------------------------------------+